Enhanced trick mode to enable presentation of information related to content being streamed

ABSTRACT

Described herein is an example apparatus for displaying information associated with content while streaming the content to a display device. The apparatus includes a memory having a database stored therein. The database stores metadata relating to the content. The metadata includes a trick mode index, trick mode images and a database of information associated with segments of the content. The apparatus also includes a processor communicatively coupled to the memory. In operation, in some embodiments, the processor streams the content for display on the display device. The processor implements a trick mode operation upon receiving an appropriate user request. During implementation of the trick mode operation, the processor receives command input requesting information associated with the content. Then, responsive to such command input, the processor retrieves information from the database of information associated with a segment of the content being featured on the display device when the command input was received, and displays the retrieved information on the display device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.15/363,236 entitled “Skipping Content of Lesser Interest When StreamingMedia” by Anthony Wood and Joseph Hollinger, filed Nov. 29, 2016, whichis hereby incorporated herein by reference in its entirety.

BACKGROUND Field

This disclosure is generally directed to pre-indexing content to provideenhanced media streaming functionality.

Background

In today's world, on-demand availability of content—such as movies, TVshows and music, to name just a few examples—is commonplace. But theelectronic and computerized storage and delivery of content offers thepotential for far more than just the availability and vanilla playbackof content. For example, through innovative use of technology, it ispossible to generate content recommendations that are tailored forindividual users, as well as to customize the viewing experience to eachuser's personal preferences.

But, existing media systems and services still fall short in many areas.For example, many media systems and services require users to experiencecontent in a linear manner, requiring them to view portions of contenthaving little or no interest. Also, too often, media systems andservices fail to leverage the immense knowledge base of the Internet andother sources when presenting content to users; thus, while streamingcontent may be available on an on-demand basis, related information isnot, at least not in an easily accessible manner.

SUMMARY

Provided herein are system, apparatus, article of manufacture, methodand/or computer program product embodiments, and/or combinations andsub-combinations thereof, for using technology in innovative ways toprovide enhanced media streaming functionality.

An embodiment is directed to system, apparatus, article of manufacture,method and/or computer program product embodiments, and/or combinationsand sub-combinations thereof, for skipping a portion of content duringstreaming of the content to a display device, where the portion is oflittle or no interest to the user. In a non-limiting embodiment, theapparatus may be a media streaming device, and the content may be amovie or a TV program, to name just two examples. The apparatus includesa memory having a database stored therein. The database stores metadatarelating to the content. The metadata includes an index, where the indexstores pointers to portions of the content. The apparatus includes aprocessor that is communicatively coupled to the memory. In operation,in some embodiments, the processor streams the content for display onthe display device. When the processor determines an end of a teaserportion has been reached in the stream of the content to the displaydevice, it enables a skip command. Responsive to enabling the skipcommand, the processor receives command input from the user to skip atitle sequence/opening credits portion of the content. Then, theprocessor determines an end to the title sequence/opening creditsportion of the content using the metadata, and advances streaming of thecontent to the determined end of the title sequence/opening creditsportion of the content. In this way, the user is able to skip portionsof content that have little or no interest.

Another embodiment is directed to system, apparatus, article ofmanufacture, method and/or computer program product embodiments, and/orcombinations and sub-combinations thereof, for displaying informationassociated with content while streaming the content to a display device.Again, in a non-limiting embodiment, the apparatus may be a mediastreaming device, and the content may be a movie or a TV program, toname just two examples. The apparatus includes a memory having adatabase stored therein. The database stores metadata relating to thecontent. The metadata includes a trick mode index, trick mode images anda database of information associated with segments of the content. Theapparatus also includes a processor communicatively coupled to thememory. In operation, in some embodiments, the processor streams thecontent for display on the display device. The processor implements atrick mode operation upon receiving an appropriate user request. Duringimplementation of the trick mode operation, the processor receivescommand input requesting information associated with the content. Then,responsive to such command input, the processor retrieves informationfrom the database of information associated with a segment of thecontent being featured on the display device when the command input wasreceived, and displays the retrieved information on the display device.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 illustrates a block diagram of a multimedia environment thatincludes media system(s), crowd source server(s) and content server(s),according to some embodiments.

FIG. 2 illustrates a block diagram of a media device, according to someembodiments.

FIGS. 3 and 4 illustrate example databases of a media device, accordingto some embodiments.

FIG. 5 illustrates a method for enabling a user to skip overuninteresting portion(s) of content when streaming such content,according to some embodiments.

FIG. 6 illustrates a method for crowd sourced identification ofparticular portion(s) of content, according to some embodiments.

FIG. 7 illustrates a method for enabling users to select and viewancillary or associated information when streaming content using anenhanced trick mode, according to some embodiments.

FIG. 8 illustrates an example screen shot displayed on a display device,according to some embodiments

FIG. 9 illustrates an example computer system useful for implementingvarious embodiments.

In the drawings, like reference numbers generally indicate identical orsimilar elements. Additionally, generally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of a multimedia environment 102,according to some embodiments. In a non-limiting example, multimediaenvironment 102 is directed to streaming media.

The multimedia environment 102 may include one or more media systems104, one or more content servers 122, and one or more crowd sourceservers 114, communicatively coupled via a network 120. In variousembodiments, the network 118 can include, without limitation, wiredand/or wireless intranet, extranet, Internet, cellular, Bluetooth and/orany other short range, long range, local, regional, globalcommunications network, as well as any combination thereof.

Media system 104 may include a display device 106, media device 108 andremote control 110. Display device 106 may be a monitor, television,computer, smart phone, tablet, and/or projector, to name just a fewexamples. Media device 108 may be a streaming media device, DVD device,audio/video playback device, cable box, and/or digital video recordingdevice, to name just a few examples. In some embodiments, the mediadevice 108 can be a part of, integrated with, operatively coupled to,and/or connected to display device 106. The media device 108 may beconfigured to communicate with network 120.

A user 112 may interact with media system 104 via remote control 110.Remote control 110 can be any component, part, apparatus or method forcontrolling media device 108 and/or display device 106, such as a remotecontrol, a tablet, laptop computer, smartphone, on-screen controls,integrated control buttons, or any combination thereof, to name just afew examples.

Content servers 120 (also called content sources 120) may each includedatabases to store content 124 and metadata 126. Content 124 may includeany combination of music, videos, movies, TV programs, multimedia,images, still pictures, text, graphics, gaming applications,advertisements, software, and/or any other content or data objects inelectronic form. In some embodiments, metadata 126 comprises data aboutcontent 124. For example, metadata 126 may include associated orancillary information indicating or related to writer, director,producer, composer, artist, actor, summary, chapters, production,history, year, trailers, alternate versions, related content,applications, and/or any other information pertaining or relating to thecontent 124. Metadata 126 may also or alternatively include links to anysuch information pertaining or relating to the content 124. Metadata 126may also or alternatively include one or more indexes of content 124(examples of such indexes are further described below with respect toFIGS. 3-4).

Crowd source servers 114 may each include a boundary processing module116 and a database 118. In some embodiments, boundary processing module116 receives and processes information identifying portions in content124 having little or no interest to users. In some crowd sourcedembodiments, boundary processing module 116 receives such informationfrom users 112 via their media systems 104. Boundary processing module116 may store such received information, as well as processing andanalysis of such received information, in database 118.

FIG. 2 illustrates an example block diagram of the media device 108,according to some embodiments. Media device 108 may include a streamingmodule 202, processing module 204, user interface module 206 anddatabase 208.

Now referring to FIGS. 1 and 2, in some embodiments, user 112 may useremote control 110 to interact with media device 108 to select content,such as a movie, TV show, music, book, application, game, etc. Mediadevice 108 may request the selected content from content server(s) 122over the network 120. Content server(s) 122 may transmit the requestedcontent to media device 108. Media device 108 may transmit the receivedcontent to display device 106 for presentation to user 112. In streamingembodiments, media device 108 may transmit the content to display device106 in real time or near real time as it receives such content fromcontent server(s) 122. In non-streaming embodiments, media device 108may buffer or store the content received from content server(s) 122 indatabase 208 for later playback on display device 106.

Skipping Content of Lesser User Interest when Streaming Media

Too often, streaming media systems and services require users toexperience streaming content in a linear manner, requiring them to viewportions of content having little or no interest. Consider, for example,content 124A shown in FIG. 3 (content 124A may be stored in database 208of media device 108, as shown in the example of FIG. 3, or streamed fromcontent server(s) 122 via network 120). For non-limiting illustrativepurposes, assume content 124A is a television show 124A. Generally,television show 124A has three parts: a teaser 302 (also sometimescalled a cold open), a title sequence and/or opening credits 304, and afeature 306 which is the remainder of the television show 124A(sometimes referred to herein as the show proper).

Often when streaming content 124A to her display device 106, the user112 may wish to skip over the title sequence/opening credits 304. Thismay be particularly true after the user 112 has already viewed the titlesequence/opening credits 304 when watching the first episode of theassociated TV series. A conventional solution to skipping over the titlesequence/opening credits 304 is using the fast forward function. Butthis approach is often bulky and inefficient, as the user 112 may fastforward past the end of the title sequence/opening credits 304, and thenmust rewind back to the beginning of the feature 306. This problem isparticularly acute in digital playback systems (such as streaming mediaplayers, DVRs, etc.) where the trick mode index may not line up with theend of the title sequence/opening credits 304 (or, equivalently, thebeginning of the feature 306).

Also, there is often a blurry line between the end of the titlesequence/opening credits 304 and the beginning of the feature 306.Sometimes the feature 306 may overlap with the title sequence/openingcredits 304. This may be especially true in streaming applications, forexample, where there may not be a commercial or other hard break betweenthe title sequence/opening credits 304 and the feature 306. Thus, tryingto use the fast forward function on the remote control 110 to skip overthe title sequence/opening credits 304 and go directly to the feature306 may be a frustrating experience for the user 112.

In some embodiments, to address this problem, metadata 126A isassociated with the content 124A. As noted above, the metadata 126A maystore information pertaining or relating to the content 124A, and mayinclude index 308. In some embodiments, index 308 may include pointers310 to content 124A. In particular, index 308 may include pointer 310Athat points to the beginning 316 of the teaser 302, pointer 310B thatpoints to the beginning 318 of the title sequence/opening credits 304,and pointer 310C that points to the end 320 of the titlesequence/opening credits 304. Index 308 may have other pointers 310pointing to other points in content 124A.

In some embodiments, content 124A and metadata 126A may be transferredfrom content server(s) 122 to the user 112's media device 108 overnetwork 120 at the same time (or substantially the same time). In otherembodiments, content 124A and metadata 126A may be transferred fromcontent server(s) 122 to the user 112's media device 108 at differenttimes. For example, metadata 126A may be preloaded and stored indatabase 208 of media device 108, or may be transferred to media device108 from content server(s) 122 during pauses in the display of content124A on the display device 106.

Some embodiments may use the pointers 310 in the index 308 to enable auser 112 to easily and effectively skip over the title sequence/openingcredits 304. This skip functionality is graphically depicted in FIG. 3as skip option 324, that when selected by user 112 skips over a portion326 of content 124A from the beginning 318 of the title sequence/openingcredits 304 to the end 320 of the title sequence/opening credits 304.

An example of such operation is depicted in FIG. 5, that shows a method502 for enabling a user to skip over uninteresting portion(s) of contentwhen streaming such content, according to some embodiments. Method 502can be performed by processing logic that can comprise hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof. It is to be appreciated that not all steps may beneeded to perform the disclosure provided herein. Further, some of thesteps may be performed simultaneously, or in a different order thanshown in FIG. 5, as will be understood by a person of ordinary skill inthe art.

For illustrative purposes, FIG. 5 is described with reference to FIGS.1-3, but the method 502 is not limited to these example embodiments.

In 504, media device 108 in the user 112's media system 104 maydetermine the end of the teaser 302 (or, equivalently, the beginning ofthe title sequence/opening credits 304) in content 124A. For example, in504, the processing module 204 of media device 108 may access the index308 in the metadata 126A stored in database 208, and retrieve pointer310B that points to the end 318 of the teaser 302.

In 506, media device 108 may determine the end of the titlesequence/opening credits 304 in content 124A. For example, in 506, theprocessing module 204 may access the index 308 in the metadata 126A, andretrieve pointer 310C that points to the end 320 of the titlesequence/opening credits 304.

In 508, media device 108 may begin streaming the content 124A forplayback on the display device 106. For example, in 508, the streamingmodule 202 of media device 108 may begin streaming the content 124A tothe display device 106, either as the content 124 is received fromcontent servers 122 over network 120, or by retrieving content 124 fromdatabase 208. It is noted that operation 508 may begin prior tooperation 504, or at any time in parallel with operations 504 and 506.

In 510, processing module 204 and/or streaming module 202 may determinewhen the end 318 of the teaser 302 has been reached in the stream of thecontent 124A to the display device 106. When the end 318 of the teaser302 has been reached, and while continuing to stream the content forplayback on the display device 106, the user interface module 206 in themedia device 108 may display a “skip” icon (such as the example skipicon 324 in FIG. 3) on the display device 106. For example, the skipicon 324 may be displayed in a location on display device 106 outsidethe window wherein the content 124A is being displayed. In someembodiments, the skip icon 324 may be displayed on the display device106 during the entire period when the title sequence/opening credits 304are being streamed to and played back on display device 106.

In 512, if the user 112 selects the skip icon 324 (using remote control110, for example), then the streaming module 202 may use pointer 310C inindex 308 to access the end 320 of the title sequence/opening credits304. Then, the streaming module 202 may advance the streaming of content124A to display device 106 to that end 320 of the title sequence/openingcredits 304. In this manner, the user 112 is able to skip playback ofthe title sequence/opening credits 304 at any point during itspresentation on display device 106.

In some embodiments, flowchart 502 is performed only if the content 124Ais not the first episode in a series (such as a TV series or a series ofmovies). In this manner, the title sequence/opening credits 304 arepresented to the user 112 during playback of the first episode in aseries (although the user 112 can still use conventional fast forwardfunctionality to skip the title sequence/opening credits 304). In otherembodiments, flowchart 502 is performed for all episodes in a series.

In some embodiments, the index 308 may be populated by manually linkingthe pointers 310 to particular points in the content 124A. For example,the beginning 316 and end 318 of the teaser 302 may be manually locatedin the content 124A. Then, the values of pointers 310A and 310B in theindex 308 may be manually set to respectively point to these locationsin content 124A. Similarly, the end 320 of the title sequence/openingcredits 304 may be manually located in the content 124A, and then thevalue of pointer 310C may be set to point to this location.

In other embodiments, the index 308 may be populated using a crowdsourced approach wherein users 112 at media systems 104 collectivelyidentify points of interest in content 124, such as but not limited tothe beginning 316 and end 318 of the teaser 302 and the end 320 of thetitle sequence/opening credits 304. An example embodiment of such anapproach is shown as flowchart 602 in FIG. 6. Method 602 can beperformed by processing logic that can comprise hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof. It is to be appreciated that not all steps may beneeded to perform the disclosure provided herein. Further, some of thesteps may be performed simultaneously, or in a different order thanshown in FIG. 6, as will be understood by a person of ordinary skill inthe art. For illustrative purposes, method 602 is described withreference to FIGS. 1-3 although it is not limited to these exampleembodiments.

In 604, media device 108 (such as streaming module 202 and/or userinterface module 206) may detect a fast forward command issued by theuser 112 while content 124A is being streamed to display device 106. Themedia device 108 may record the point in content 124A that was beingdisplayed on display device 106 when the fast forward command wasreceived. The point may be denoted as position 1, or P1. In someembodiments, operation 604 is performed only for the first fast forwarddetected while streaming the content 124A to the display device 106.

In 606, media device 108 (such as streaming module 202 and/or processingmodule 204) may determine if P1 occurs within a monitoring window 350 ofcontent 124A. In some embodiments, the monitoring window 350 is aportion of the content 124A where the title sequence/opening credits 304normally occurs. For example, the monitoring window 350 may be set tothe first 5-10 minutes of the content 124A.

If P1 is outside the monitoring window 350, then it is likely the user112's fast forward command is not related to skipping the titlesequence/opening credits 304. Thus, the flowchart ends at 608.

If P1 is within the monitoring window 350, then it is possible the user112's fast forward command is for the purpose of skipping the titlesequence/opening credits 304. Accordingly, the media device 108 (such asstreaming module 202 and/or user interface module 206) may monitor anddetect when the user 112 discontinues the fast forward operation. Themedia device 108 may record the point in content 124A that was beingdisplayed on display device 106 when the fast forward command wasdiscontinued. The point may be denoted as position 2, or P2.

In 612, the media device 108 may store P1 and P2 in database 208.

In 614, periodically or at predefined times, media device 108 may uploadP1 and P2 to crowd source server(s) 114 via network 120.

In some embodiments, operations 604-612 may be performed by media device108 whenever the content 124A is played from the beginning 316 on thedisplay device 106. Additionally or alternatively, operations 604-612may be performed by media device 108 for every fast forward commanddetected within the monitoring window 350. Accordingly, multiple P1/P2sets may be stored in database 208 when operation 614 is performed. Insuch cases, the media device 108 in 614 may upload to the crowd sourceserver(s) 114 all of the P1/P2 sets stored in database 208 at the timeoperation 614 is performed.

In some embodiments, operations 604-614 are performed by any combinationof media systems 104 in the multimedia environment 102.

In 616, boundary processing module 116 in crowd source server 114 mayuse the P1/P2 timing information associated with the content 124A,received from media systems 104 as well as stored in database 208, togenerate a crowd sourced determination of the beginning 318 and the end320 of the title sequence/opening credits 304 of the content 124A. Insome embodiments, the boundary processing module 116 in 616 may averagethe P1s to generate a crowd sourced determination of the beginning 318of the title sequence/opening credits 304, and may average the P2s togenerate a crowd sourced determination of the end 320 of the titlesequence/opening credits 304, or may process the P1s and P2s using anyother system defined statistical or mathematical function or process togenerate crowd sourced values of the beginning 318 and the end 320 ofthe title sequence/opening credits 304 of the content 124A. The P1s, P2sand crowd sourced values of the beginning 318 and the end 320 of thetitle sequence/opening credits 304 of the content 124A may be stored indatabase 118.

In 618, the crowd source server 114 may transmit the crowd sourcedvalues of the beginning 318 and the end 320 of the titlesequence/opening credits 304 of the content 124A to the content servers122 and/or media devices 108 for storage in the index 308 of metadata126A.

Embodiments of this disclosure are not limited to skipping the titlesequence/opening credits 304 of content 124A. Rather, embodiments areapplicable to skipping any portion or portions of any given content oflittle interest to users 112, where the boundaries of such portion(s)may be manually determined, or determined in a crowd sourced manner asshown in FIG. 6, and then skipped per user command as shown in FIG. 5.

Enhanced Trick Mode to Enable Presentation of Information Related toContent being Streamed

According to some embodiments, trick mode is an ability in digital mediadevices to fast forward, rewind, pause, or otherwise manipulate content124 (at one or more speeds) during display on a display device 106. Anexample data structure embodiment of trick mode is illustrated in FIG.4, wherein content 124B is stored in database 208 of media device 108(or may be streamed from content server(s) 122 to media device 108 vianetwork 120). Content 124B has a plurality of segments 414. Somesegments 414 may be the same size and some may be different. Or, thesegments 414 may all be the same size or different sizes.

Metadata 126B may be associated with content 124B and may storeinformation pertaining or relating to content 124B. Metadata 126B may bestored in database 208. Metadata 126B may include a trick mode index 402and trick mode images 406. Trick mode index 402 may include a pointer404 to each segment 414 of content 124B. Similarly, trick mode images406 may include an image 408 for each segment 414 of content 124B. Thus,for example, pointer 404A in trick mode index 402 and image 408A intrick mode images 406 correspond to segment 414A of content 124B.

In some embodiments, when media device 108 requests content 124B fromcontent server(s) 122, content server(s) 122 may transmit the requestedcontent 124B as well as the associated metadata 126B (at the same timeor at different times) to media device 108. When media device 108receives a trick mode request from the user 112 (such as a request torewind or fast forward the display of content 124B), media device 108may access the metadata 126B and use the trick mode index 402 and thetrick mode images 406 to perform the requested trick mode operation onthe display device 106. In particular, the media device 108 may displaythe trick mode images 408 corresponding to content segments 414 (asidentified by the pointers 404) as the content 124 is fast forwarded onthe display device 106. For example, during a fast forward operation,the media device 108 may display trick mode image 408E on the displaydevice 106 when the fast forward operation reaches content segment 414E,wherein this trick mode image 408E may be identified and accessed usingpointer 404E.

In some embodiments, the metadata 126B may also include associatedinformation 410. The associated information 410 may include information412 pertaining or relating to each content segment 414. Such information412 may identify, indicate and/or relate to writer, director, producer,composer, artist, actor, summary, chapters, production, history, year,trailers, alternate versions, related content, applications, and/or anyother information pertaining or relating to the content 124. Information412 may also or alternatively include links to any such informationpertaining or relating to the content 124.

FIG. 7 illustrates a method 702 for enabling users to select and viewinformation relating to content when streaming and displaying suchcontent using enhanced trick mode functionality, according to someembodiments. Method 702 can be performed by processing logic that cancomprise hardware (e.g., circuitry, dedicated logic, programmable logic,microcode, etc.), software (e.g., instructions executing on a processingdevice), or a combination thereof. It is to be appreciated that not allsteps may be needed to perform the disclosure provided herein. Further,some of the steps may be performed simultaneously, or in a differentorder than shown in FIG. 7, as will be understood by a person ofordinary skill in the art. For illustrative purposes, method 702 isdescribed with reference to FIGS. 1, 2, 4 and 8 although it is notlimited to these example embodiments (FIG. 8 illustrates an examplescreen shot 801 displayed on display device 106, according to someembodiments).

In 706, content 124B may be streamed to display device 106 in the user112's media system 104. For example, content server(s) 122 in 706 maystream content 124B to media device 108. Content server(s) 122 may alsostream metadata 126B relating to content 124B to media device 108 (atthe same time as the streaming of content 124B, or different times). Themedia device 108 may transfer the received content 124B to displaydevice 106 for playback to user 112. In some embodiments, the content124B may be displayed in a content window 802 on the display device 106.

In 708, user interface module 206 in the media device 108 may receive arequest for a trick mode operation from user 112 (via, for example,remote control 110). The requested trick mode operation may be fastforward, rewind, pause, of any other manipulation of the display ofcontent 124B on display device 106. Streaming module 202 (working withprocessing module 204, for example) in 708 may implement the requestedtrick mode operation on the display device 106 using the trick modeindex 402 and trick mode images 406 in the metadata 126B. For example,during a trick mode fast forward operation, the streaming module 202 maydisplay trick mode images 408 in the content window 802 on the displaydevice 106 when the fast forward operation reaches content segments 414corresponding to those trick mode images 408, wherein the trick modeimages 408 may be identified and accessed using associated pointers 404.

Also in 708, while implementing the requested trick mode operation, thestreaming module 202 (working with processing module 204, for example)may enable an “associated information” option. For example, thestreaming module 202 may display an “Info” button 804 at a location ondisplay device 106 outside the content window 802 where the content 124Bis being displayed.

In 710, if the user 112 selects the Info button 804 or otherwise selectsthe “associated information” option (using, for example, the remotecontrol 110), the streaming module 202 (working with the processingmodule 204, for example) may retrieve associated information 412corresponding to the content segment 414 currently being displayed (thatis, featured) via trick mode on the display device 106, and may displaysuch retrieved associated information 412 in an associated informationwindow 806 on the display device 106. The associated information window806 may partially or fully overlap with the content window 802, or maynot overlap at all (this latter case is shown in the example of FIG. 8).

For example, assume during a trick mode fast forward operation, trickmode image 4081 corresponding to content segment 4141 is being displayedin the content window 802 on the display device 106. If, at this time,the user 112 presses the Info button 804, then the streaming module 202may use the associated pointer 4041 to retrieve the associatedinformation 4121 corresponding to content segment 4141, and may displaythe retrieved associated information 4121 in the associated informationwindow 806.

In some embodiments, in 710, the trick mode operation is suspended whenthe user 112 selects the Info button 804 and the retrieved associatedinformation 4121 is displayed in the associated information window 806.This is done to allow the user 112 to view the information in theassociated information window 806. The trick mode operation is resumedwhen the user 112 selects the Info button 804 a second time.

In some embodiments, operations 708 and 710 may be available only fornon-fast forward and non-fast rewind trick mode operations. In otherembodiments, operations 708 and 710 may be available for all trick modeoperations.

Example Computer System

Various embodiments and/or components therein can be implemented, forexample, using one or more computer systems, such as computer system 900shown in FIG. 9. Computer system 900 can be any computer or computingdevice capable of performing the functions described herein. Forexample, one or more computer systems 900 can be used to implement thedevices and operations of FIGS. 1-8.

Computer system 900 includes one or more processors (also called centralprocessing units, or CPUs), such as a processor 904. Processor 904 isconnected to a communication infrastructure or bus 906.

One or more processors 904 can each be a graphics processing unit (GPU).In some embodiments, a GPU is a processor that is a specializedelectronic circuit designed to process mathematically intensiveapplications. The GPU can have a parallel structure that is efficientfor parallel processing of large blocks of data, such as mathematicallyintensive data common to computer graphics applications, images, videos,etc.

Computer system 900 also includes user input/output device(s) 903, suchas monitors, keyboards, pointing devices, etc., that communicate withcommunication infrastructure 906 through user input/output interface(s)902.

Computer system 900 also includes a main or primary memory 908, such asrandom access memory (RAM). Main memory 908 can include one or morelevels of cache. Main memory 908 has stored therein control logic (i.e.,computer software) and/or data.

Computer system 900 can also include one or more secondary storagedevices or memory 910. Secondary memory 910 can include, for example, ahard disk drive 912 and/or a removable storage device or drive 914.Removable storage drive 914 can be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 914 can interact with a removable storage unit918. Removable storage unit 918 includes a computer usable or readablestorage device having stored thereon computer software (control logic)and/or data. Removable storage unit 918 can be a floppy disk, magnetictape, compact disk, DVD, optical storage disk, and/any other computerdata storage device. Removable storage drive 914 reads from and/orwrites to removable storage unit 918 in a well-known manner.

According to an exemplary embodiment, secondary memory 910 can includeother means, instrumentalities or other approaches for allowing computerprograms and/or other instructions and/or data to be accessed bycomputer system 900. Such means, instrumentalities or other approachescan include, for example, a removable storage unit 922 and an interface920. Examples of the removable storage unit 922 and the interface 920can include a program cartridge and cartridge interface (such as thatfound in video game devices), a removable memory chip (such as an EPROMor PROM) and associated socket, a memory stick and USB port, a memorycard and associated memory card slot, and/or any other removable storageunit and associated interface.

Computer system 900 can further include a communication or networkinterface 924.

Communication interface 924 enables computer system 900 to communicateand interact with any combination of remote devices, remote networks,remote entities, etc. (individually and collectively referenced byreference number 928). For example, communication interface 924 canallow computer system 900 to communicate with remote devices 928 overcommunications path 926, which can be wired and/or wireless, and whichcan include any combination of LANs, WANs, the Internet, etc. Controllogic and/or data can be transmitted to and from computer system 900 viacommunication path 926.

In some embodiments, a tangible apparatus or article of manufacturecomprising a tangible computer useable or readable medium having controllogic (software) stored thereon is also referred to herein as a computerprogram product or program storage device. This includes, but is notlimited to, computer system 900, main memory 908, secondary memory 910,and removable storage units 918 and 922, as well as tangible articles ofmanufacture embodying any combination of the foregoing. Such controllogic, when executed by one or more data processing devices (such ascomputer system 900), causes such data processing devices to operate asdescribed herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of this disclosure using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 9.In particular, embodiments can operate with software, hardware, and/oroperating system implementations other than those described herein.

CONCLUSION

It is to be appreciated that the Detailed Description section, and notthe Summary and Abstract sections, is intended to be used to interpretthe claims. The Summary and Abstract sections can set forth one or morebut not all exemplary embodiments as contemplated by the inventors, andthus, are not intended to limit this disclosure or the appended claimsin any way.

While this disclosure describes exemplary embodiments for exemplaryfields and applications, it should be understood that the disclosure isnot limited thereto. Other embodiments and modifications thereto arepossible, and are within the scope and spirit of this disclosure. Forexample, and without limiting the generality of this paragraph,embodiments are not limited to the software, hardware, firmware, and/orentities illustrated in the figures and/or described herein. Further,embodiments (whether or not explicitly described herein) havesignificant utility to fields and applications beyond the examplesdescribed herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments can performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedcan include a particular feature, structure, or characteristic, butevery embodiment can not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein. Additionally, some embodiments can bedescribed using the expression “coupled” and “connected” along withtheir derivatives. These terms are not necessarily intended as synonymsfor each other. For example, some embodiments can be described using theterms “connected” and/or “coupled” to indicate that two or more elementsare in direct physical or electrical contact with each other. The term“coupled,” however, can also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other.

The breadth and scope of this disclosure should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. An apparatus for displaying informationassociated with content for playback, while streaming and displaying thecontent on a display device, comprising: a memory comprising at leastone database, the database comprising metadata relating to the content,the metadata comprising a trick mode index corresponding to trick modeimages and entries of information associated with segments of thecontent, wherein: the trick mode index comprises a plurality of pointerseach referencing a corresponding segment of the content, and eachcorresponding segment of the content corresponds to at least acorresponding entry of the trick mode index, a corresponding trick modeimage of the trick mode images, and at least a corresponding entry ofthe information associated with its respective segment of content; andat least one processor, communicatively coupled to the memory andconfigured to: stream the content for playback and display on thedisplay device; receive a user request for a trick mode operation,wherein the user request is received while a point in the content isbeing presented at normal speed on the display device, during playback,wherein the point is encompassed within a displayed segment of thecontent; implement the trick mode operation; during implementation ofthe trick mode operation, receive command input requesting informationassociated with the displayed segment of the content encompassing thepoint; retrieve, from the database, the corresponding entry ofinformation associated with the displayed segment of the contentencompassing the point, wherein the displayed segment is identified byaccessing at least one pointer of the plurality of pointers in the trickmode index, and the information is retrieved from at least one entry ofthe corresponding information associated with the displayed segment viathe trick mode index corresponding to the at least one pointer thatpoints to the displayed segment; and display the retrieved informationon the display device.
 2. The apparatus of claim 1, wherein to accessthe at least one pointer from the trick mode index corresponding to thedisplayed segment of the content, the processor is further configuredto: access at least one of the trick mode images, wherein the at leastone of the trick mode images was being displayed on the display devicewhen the command input was received.
 3. The apparatus of claim 1,wherein to display the retrieved information on the display device, theprocessor is further configured to: display the retrieved information ina first window that at least partially overlaps a second window in whichthe content is being displayed.
 4. The apparatus of claim 1, wherein todisplay the retrieved information on the display device, the processoris further configured to: pause the trick mode operation during displayof the retrieved information on the display device.
 5. The apparatus ofclaim 1, wherein the metadata comprises a table with a plurality ofrows, each of the rows corresponding to a different segment of thecontent, wherein each of the rows comprises a trick mode index pointingto the corresponding different segment of content, one or more imagesrepresenting the corresponding different segment of content, andinformation associated with the corresponding different segment ofcontent.
 6. A method for displaying information associated with contentwhile streaming and displaying the content on a display device,comprising: accessing, by at least one processor, at least one database,the database comprising metadata relating to the content, the metadatacomprising a trick mode index corresponding to trick mode images, andentries information associated with segments of the content, wherein:the trick mode index comprises a plurality of pointers each referencinga corresponding segment of the content, and each corresponding segmentof the content corresponds to at least a corresponding entry of thetrick mode index, a corresponding trick mode image of the trick modeimages, and at least a corresponding entry of the information associatedwith its respective segment of content; and streaming, by the at leastone processor, the content for playback and display on the displaydevice; receiving, by the at least one processor, a user request for atrick mode operation, wherein the user request is received while a pointin the content is being presented at normal speed on the display device,during playback, wherein the point is encompassed within a displayedsegment of the content; implementing, by the at least one processor, thetrick mode operation; during implementation of the trick mode operation,receiving, by the at least one processor, command input requestinginformation associated with the displayed segment of the contentencompassing the point; retrieving, by the at least one processor, fromthe database, the corresponding entry of information associated with thedisplayed segment of the content encompassing the point, wherein thedisplayed segment is identified via at least one pointer of theplurality of pointers in the trick mode index, and the information isretrieved from at least one entry of the corresponding informationassociated with the displayed segment via the trick mode indexcorresponding to the at least one pointer that points to the displayedsegment; and displaying, by the at least one processor, the retrievedinformation on the display device.
 7. The method of claim 6, wherein theaccessing the at least one pointer from the trick mode indexcorresponding to the displayed segment of the content comprises:accessing, by the at least one processor, at least one of the trick modeimages, wherein the at least one of the trick mode images was beingdisplayed on the display device when the command input was received. 8.The method of claim 6, wherein the displaying the retrieved informationon the display device comprises: displaying, by the at least oneprocessor, the retrieved information in a first window that at leastpartially overlaps a second window in which the content is beingdisplayed.
 9. The method of claim 6, wherein the displaying theretrieved information on the display device comprises: pausing, by theat least one processor, the trick mode operation during display of theretrieved information on the display device.
 10. The method of claim 6,wherein the metadata comprises a table with a plurality of rows, each ofthe rows corresponding to a different segment of the content, whereineach of the rows comprises a trick mode index pointing to thecorresponding different segment of content, one or more imagesrepresenting the corresponding different segment of content, andinformation associated with the corresponding different segment ofcontent.
 11. A non-transitory, tangible computer-readable device havinginstructions stored thereon that, when executed by at least onecomputing device, causes the at least one computing device to performoperations comprising: accessing at least one database, the databasecomprising metadata relating to the content, the metadata comprising atrick mode index corresponding to trick mode images, and entriesinformation associated with segments of the content, wherein: the trickmode index comprises a plurality of pointers each referencing acorresponding segment of the content, and each corresponding segment ofthe content corresponds to at least a corresponding entry of the trickmode index, a corresponding trick mode image of the trick mode images,and at least a corresponding entry of the information associated withits respective segment of content; and streaming content for playbackand display on a display device; receiving a user request for a trickmode operation, wherein the user request is received while a point inthe content is being presented at normal speed on the display device,during playback, wherein the point is encompassed within a displayedsegment of the content; implementing the trick mode operation; duringimplementation of the trick mode operation, receiving command inputrequesting information associated with the displayed segment of thecontent encompassing the point; retrieving, from the database, thecorresponding entry of information associated with the displayed segmentof the content encompassing the point, wherein the displayed segment isidentified via at least one pointer of the plurality of pointers in thetrick mode index, and the information is retrieved from at least oneentry of the corresponding information associated with the displayedsegment via the trick mode index corresponding to the at least onepointer that points to the displayed segment; and displaying theretrieved information on the display device.
 12. The non-transitory,tangible computer-readable device of claim 11, wherein the accessing theat least one pointer from the trick mode index corresponding to thedisplayed segment of the content comprises: accessing at least one ofthe trick mode images, wherein the at least one of the trick mode imageswas being displayed on the display device when the command input wasreceived.
 13. The non-transitory, tangible computer-readable device ofclaim 11, wherein the displaying the retrieved information on thedisplay device comprises: displaying the retrieved information in afirst window that at least partially overlaps a second window in whichthe content is being displayed.
 14. The non-transitory, tangiblecomputer-readable device of claim 11, wherein the displaying theretrieved information on the display device comprises: pausing the trickmode operation during display of the retrieved information on thedisplay device.
 15. The non-transitory, tangible computer-readabledevice of claim 11, wherein the metadata comprises a table with aplurality of rows, each of the rows corresponding to a different segmentof the content, wherein each of the rows comprises a trick mode indexpointing to the corresponding different segment of content, one or moreimages representing the corresponding different segment of content, andinformation associated with the corresponding different segment ofcontent.